우분투로 자바스크립트 개발하기

Intro/java-programming.jpg

개발은 "아무나 할 수 없는 것"으로 보통 여겨져 왔습니다. 아니, 일반인은 못(안)한다라고 했었습니다. "nerd", "geek" 이란 단어와 어울리는 그런 말이였는데요. 그래서 그런지 뭔가 공포감이 심합니다. 특히 개발을 위해서 맥을 구매하시거나, 우분투를 설치하시면 다른 OS에서 오는 이질감과, Unix계열 OS에 대한 부족한 이해가 마치 "개발은 어렵다"라는 말로 곡해되기도 합니다.

저는 코드스테이츠 CSE로써 많은 부트캠프 수강생들의 자바스크립트 개발 과정을 지켜봐왔습니다. 특히 이 OS를 만지고, 새로운 패키지를 깔고, 터미널을 여는 것을 굉장히 힘들어합니다.

우선은 불만부터 시작됩니다. "멀쩡한 윈도우를 두고 왜 Unix계열의 OS를 사용해야 할까?"부터 시작해서 많은 불만들이 생겨납니다. 이 불만에 대한 대답은 비교적 명확한 편입니다. C#이나 .NET 개발을 하시는 분이라면 윈도우가 좋은 답일 수도 있겠지만, iOS, MacOS 개발까지 가능한 macOS의 유용성은 더 말을 해봐야 입만 아픕니다. AWS도 대부분 Unix 기반 OS로 구성이 되어있구요. 궁금하면 직접 찾아보셔도 됩니다. 전 macOS를 50만원 주고 살 수 있다면 지금 당장이라도 구매할 의사가 있습니다.

개발자 윈도우 vs 리눅스 - Google Search

특히 자바스크립트는 오픈 소스, 특히 npm을 기반으로 발전해왔습니다. 이 거대한 ecosystem을 기반으로 개발자들이 스스로 업데이트하고, 스스로 발전하는 건설적인 개발 환경을 구축해왔습니다. 문제는 이 ecosystem이 macOS 사용자 위주로 구성되어 있다는 점입니다. 대표적으로 nodejs의 버젼 관리를 도와주는, nodejs 개발의 시작과 다름없는 nvm은 윈도우를 지원하지 않습니다. 여러 대안이 있지만 이는 결국 "대안" 이라는 점에서 한계가 있습니다. 자바스크립트 생태계의 큰 부분을 차지하는 리액트 개발진이 맥북 이외의 컴퓨터를 쓰는 것을 본 적이 없습니다. 프론트앤드 개발자 중 맥을 쓰지 않는 사람은 손에 꼽습니다. 이 현상은 미국으로 가면 더 심해집니다.

https://images.unsplash.com/photo-1515248137880-45e105b710e0?ixlib=rb-1.2.1&q=85&fm=jpg&crop=entropy&cs=srgb

하지만 맥북은, 정말, 비쌉니다. 개발은 전공과 관계 없이 누구든 시작할 수 있다고, 많이들 이야기 합니다. 하지만 이 문구는 맥북은 분명 거리가 있습니다. 모두가 맥북을 살 수 있을만큼 여유롭지는 않습니다. 그래서 윈도우 노트북을 가지고 있는 분들에게는 우분투를 설치를 권하고 있습니다.

우분투는 여러 유닉스 계열 OS 중에 일반 사용자들이 가장 많이 사용해서, 어느정도 안정화가 되어있습니다. 다행히도 자바스크립트 개발을 하고 서버에 대해서 공부하기에 충분합니다. 또한 우분투를 사용함으로써 리눅스와 컴퓨터에 대한 지식을 얻을 수 있는 것은 덤입니다. 윈도우는 File System 자체가 완전히 달라서 자바스크립트 개발에 있어서 지장이 있을 정도로 많은 허들이 있습니다.

문제는 위에서도 언급했지만, 다른 OS에서 오는 이질감과, Unix계열 OS에 대한 부족한 이해가 코드에 대한 집중을 방해하는 경우가 많았습니다. "이거 설치 했는데 안되더라", "이건 되는데 왜 이건 안되냐"... 이런 이슈들을 해결하는데 많은 시간을 투자하십니다. 수강생들의 성공적인 수료를 돕고 질문을 해결해주는 CSE로써 같은 질문이 계속 반복해서 올라오는데, 정말 똑같이 어려워하는 모습을 많이 봤습니다. 이를 해결하며 생긴 노하우를 블로그로 정리하고 싶은 욕구가 생겼습니다.

저의 트러블슈팅 경험을 정리해서, 우분투로 자바스크립트 개발을 하시는 모든 분들이 참고하실 수 있는 FAQ 및 튜토리얼을 만들고자 합니다! 누구든 자바스크립트 개발을 시작할 수 있게 돕겠습니다.

이 튜토리얼을 참고하시다가 보면, 자연스럽게 Unix 계열 OS에서 자주 사용하시게 되는 기초적인 CLI 커멘드와 우분투 기초 상식에 대해서 자연스럽게 배우실 수 있습니다. 또한 단지 우분투를 설치하는 것 뿐 만 아니라, 향후에도 직접 패키지 설치 등을 할 수 있게 여러 안내가 되어있으니, 믿고 따라와주세요 :)